
#ifndef __STACK_BASE_LIST_H__
#define __STACK_BASE_LIST_H__

/*代表栈中的节点*/
typedef struct StackNode
{
	int data;//有效数据
    struct StackNode *next;//指向下一个节点
}STACK_NODE;
/*代表栈结构*/
typedef struct Stack
{
   STACK_NODE   *top;
}STACK;

/*创建节点*/
STACK_NODE *node_create(int data,STACK_NODE *next);
/*销毁节点*/
STACK_NODE *node_destroy(STACK_NODE *node);
/*创建栈*/
STACK *stack_create(void);
/*销毁栈*/
void stack_destroy(STACK *stack);
/*压栈*/
void stack_push(STACK *stack, int data);
/*弹栈*/
int stack_pop(STACK *stack);
/*判空*/
int stack_empty(STACK *stack);
/*判满*/
int stack_full(STACK *stack);






#endif


